/**
 * @(#) QuartzService.java
 */

package org.vsg.common.jobscheduler.service;

import java.util.List;

import org.quartz.JobDetail;
import org.quartz.Trigger;
import org.vsg.common.biz.exception.ServiceException;
import org.vsg.common.jobscheduler.domain.QuartzTrigger;

/**
 * @author Bill Vison
 * 
 */
public interface QuartzService
{
	/**
	 * 1.add the job and trigger association to the quartz's jobstore
	 */
	void definedJob( JobDetail jobDetail , Trigger trigger) throws ServiceException;
	
	
	List<QuartzTrigger> findTriggerByGroup(String groupName);
	
	void reDefinedJob(String jobName , String groupName , Trigger trigger);
	
	void removeJobTrgger(String triggerName, String triggerGroup);
	
	void stopJobTrigger(String triggerName , String triggerGroup);
	
	void resumeJobTrigger(String triggerName , String triggerGroup);
	
	void executeJobImmediatly(String jobName, String groupName);
	
	
}
